package top.callback.inf.beautyleaf.server.dao;

import org.apache.ibatis.annotations.Mapper;
import top.callback.inf.beautyleaf.server.entity.UserDO;

import java.util.Set;

/**
 * 用户数据操作接口
 *
 * @author Pengyu Gan
 * CreateDate 2021/3/30
 */
@Mapper
public interface UserDao {

    /**
     * 新增用户
     * @param userDO {@link UserDO} 用户信息
     * @return 影响行数
     */
    int addUser(UserDO userDO);

    /**
     * 编辑用户
     * @param userDO {@link UserDO} 用户信息
     * @return 影响行数
     */
    int editUser(UserDO userDO);

    /**
     * 删除指定用户
     * @param userId 用户 ID
     * @return 影响行数
     */
    int removeUser(long userId);

    /**
     * 查询指定用户
     * @param userId 用户 ID
     * @return {@link UserDO} 用户信息
     */
    UserDO findById(long userId);

    /**
     * 查询所有用户
     * @return 用户列表
     */
    Set<UserDO> findAll();

}
